//
//  ViewController.swift
//  letuofu
//
//  Created by WH-JS on 2019/10/15.
//  Copyright © 2019 WH-JS. All rights reserved.
//

import UIKit

class ViewController: UIViewController,NTESVerifyCodeManagerDelegate {
    
//    var manager : NTESVerifyCodeManager?
    var manager = NTESVerifyCodeManager.getInstance()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    @IBAction func codeAction2() {
//        let kbVC = KBViewController()
//        self.pushViewController(kbVC)
    }
    
    @IBAction func codeAction1() {
        let scanQRCodeVC = ScaningViewController()
        AppAuthority.cameraPermissions(authorizedBlock: {
            self.pushViewController(scanQRCodeVC)
        }, deniedBlock: {
            
        })
    }

    @IBAction func codeAction() {
                // 如果需要了解组件的执行情况,则实现回调
        manager?.delegate = self
                
                // captchaid的值是每个产品从后台生成的,比如 @"a05f036b70ab447b87cc788af9a60974"
                
                // 传统验证码
                let captchaid = "deecf3951a614b71b4b1502c072be1c1"
        manager?.mode = .normal
                
                // 无感知验证码
        //        NSString *captchaid = @"6a5cab86b0eb4c309ccb61073c4ab672";
        //        self.manager.mode = NTESVerifyCodeBind;
                
        manager?.configureVerifyCode(captchaid, timeout: 7.0)
                
                // 设置语言
        manager?.lang = .CN
                
                // 设置透明度
        manager?.alpha = 0.3
                
                // 设置颜色
        manager?.color = UIColor.black
                
                // 设置frame
        manager?.frame = CGRect.null
                
                // 是否开启降级方案
        manager?.openFallBack = true
        manager?.fallBackCount = 3
                
                // 显示验证码
        manager?.openVerifyCodeView()
    }

    /**
     * 验证码组件初始化完成
     */
    
    func verifyCodeInitFinish() {
        print("收到初始化完成的回调")
    }
    
    /**
    * 验证码组件初始化出错
    *
    * @param message 错误信息
    */
    func verifyCodeInitFailed(_ error: [Any]!) {
        print("收到错误信息的回调")
    }
    
    /**
    * 完成验证之后的回调
    *
    * @param result 验证结果 BOOL:YES/NO
    * @param validate 二次校验数据，如果验证结果为false，validate返回空
    * @param message 结果描述信息
    *
    */
    func verifyCodeValidateFinish(_ result: Bool, validate: String!, message: String!) {
        print("完成验证之后的回调")
    }
    

    /**
     * 关闭验证码窗口后的回调
     */
    func verifyCodeCloseWindow() {
        print("关闭验证码窗口后的回调")
        
    }
    
    /**
    * 网络错误
    *
    * @param error 网络错误信息
    */
    func verifyCodeNetError(_ error: Error!) {
        print("网络错误")
        
    }
}

